package cz.najman.emdroid.utils;

import android.net.Uri;

/**
 * @author  Lukáš Najman
 */
public class RequestIdentifier {

	/**
	 * Unique request ID
	 */
	private Long id;
	/**
	 * Identifies the HTTP method. 
	 * Possible values can be found in {@code ConnectionMethod}
	 */
	private int mMethod;
	
	/**
	 * Location of the required resource
	 */
	private Uri mUri;
	
	private String [] mParameterTypes;
	private String [] mParameterValues;
	
	private Class mObjectClass;
	
	public RequestIdentifier(Long id) {		
		this.id = id;
	}

	public RequestIdentifier(Long id, int mMethod, Uri mUri) {		
		this.id = id;
		this.mMethod = mMethod;
		this.mUri = mUri;
	}

	/**
	 * @return  the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id  the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the mMethod
	 */
	public int getMethod() {
		return mMethod;
	}

	/**
	 * @param method the method to set
	 */
	public void setMethod(int method) {
		this.mMethod = method;
	}

	/**
	 * @return the Uri
	 */
	public Uri getUri() {
		return mUri;
	}

	/**
	 * @param mUri the mUri to set
	 */
	public void setUri(Uri uri) {
		this.mUri = uri;
	}	

	/**
	 * @return the mObjectClass
	 */
	public Class getObjectClass() {
		return mObjectClass;
	}

	/**
	 * @param mObjectClass the mObjectClass to set
	 */
	public void setObjectClass(Class objectClass) {
		this.mObjectClass = objectClass;
	}

	/**
	 * @return the mParameterTypes
	 */
	public String[] getParameterTypes() {
		return mParameterTypes;
	}

	/**
	 * @param mParameterTypes the mParameterTypes to set
	 */
	public void setParameterTypes(String[] parameterTypes) {
		this.mParameterTypes = parameterTypes;
	}

	/**
	 * @return the mParameterValues
	 */
	public String[] getParameterValues() {
		return mParameterValues;
	}

	/**
	 * @param mParameterValues the mParameterValues to set
	 */
	public void setParameterValues(String[] parameterValues) {
		this.mParameterValues = parameterValues;
	}	
	
	
	
}
